package com.ryder.petmatediarybackend.common.enums;

import lombok.Getter;

/**
 * 描述: 设备类型枚举
 *
 * @author Ryder
 * @version 1.0
 * @since 1.0
 * 更新日期: 2025/10/25
 */
@Getter
public enum DeviceTypeEnum {
    PC("WEB"),
    APP("APP");

    private final String value;

    DeviceTypeEnum(String value) {
        this.value = value;
    }

    public static boolean isValid(String value) {
        for (DeviceTypeEnum dt : values()) {
            if (dt.getValue().equalsIgnoreCase(value)) {
                return true;
            }
        }
        return false;
    }

    /**
     * 根据 code 获取枚举
     *
     * @param code 设备类型编码（WEB/APP）
     * @return DeviceTypeEnum
     */
    public static DeviceTypeEnum fromCode(String code) {
        if (code == null || code.isEmpty()) {
            return PC; // 默认返回 PC
        }
        for (DeviceTypeEnum dt : values()) {
            if (dt.getValue().equalsIgnoreCase(code)) {
                return dt;
            }
        }
        return PC; // 未匹配时默认返回 PC
    }
}
